data specification
using nat
data types persistence-state = unbuffered
| readonly
| journal(. .lnum : nat) with .journal?
| index(. .lnum : nat) with .index?
;
variables pstate : persistence-state;
end data specification